package com.guoxue.service;

import java.util.List;

import com.guoxue.domain.FollowsVo;

public interface IFollowsService {

	/**
	 * 获取关注“我的人”列表
	 * 
	 * @param uId
	 * @return
	 */
	public List<FollowsVo> getFriendsList(int uId);

	/**
	 * 插入或更新数据
	 * 
	 * @param vo
	 */
	public void saveFollows(FollowsVo vo);

	/**
	 * 通过关注者id以及被关注者id查找
	 * 
	 * @param followed
	 * @param follower
	 * @return
	 */
	public FollowsVo getFriendById(int followed, int follower, int sysflag);

	/**
	 * 获取自己被关注列表
	 * 
	 * @param uid
	 * @return
	 */
	public List<FollowsVo> getFollowedList(int uid);

	/**
	 * 获取黑名单
	 * 
	 * @param uid
	 * @return
	 */
	public List<FollowsVo> getBlackList(int uid);

	/**
	 * 获取黑名单个人
	 * 
	 * @param uid
	 * @param blacker
	 * @return
	 */
	public FollowsVo getBlackerById(int uid, int blacker);

	/**
	 * 计算粉丝数量
	 * 
	 * @param uid
	 * @return
	 */
	public int getFollowsCount(Integer uid);

	/**
	 * 计算黑名单数量
	 * 
	 * @param uid
	 * @return
	 */
	public int getBlackCount(Integer uid);

	/**
	 * 获取自己关注的人的数量
	 * 
	 * @param uid
	 * @return
	 */
	public int getMyFollowsCount(Integer uid);

	// /**
	// * 获取拉黑或被拉黑过用户
	// * @param uid
	// * @param blacker
	// * @return
	// */
	// public FollowsVo getBeBlackList(int uid, int blacker);
	// /**
	// * 获取之前或现在关系
	// * @param uid
	// * @param blacker
	// * @return
	// */
	// public FollowsVo getFollowInfo(int uid, int blacker);

	/**
	 * 获取对应follower以及followed数据
	 * 
	 * @param followed
	 * @param follower
	 * @return
	 */
	public FollowsVo getFriendByIdAllStatus(int followed, int follower);

}
